   package com.school.entity;

// 父类：提取Student和Teacher的共性属性与方法
public class Person {
    // 不同权限修饰符的属性：验证可见性
    protected String id;       // 编号（protected：子类、同包可见）
    protected String name;     // 姓名（protected）
    private String gender;     // 性别（private：仅本类可见）
    String remark;             // 备注（default：仅同包可见）

    // 父类带参构造方法
    public Person(String id, String name, String gender) {
        this.id = id;
        this.name = name;
        this.gender = gender;
        this.remark = "学校人员"; // 默认备注
    }

    // 父类通用方法：打印基础信息（子类可重写）
    public void printInfo() {
        System.out.println("=== 基础信息 ===");
        System.out.println("编号：" + id);
        System.out.println("姓名：" + name);
        System.out.println("性别：" + gender); // 访问本类private属性
        System.out.println("备注：" + remark);
    }

    // Getter方法：private属性需通过方法访问（子类无法直接访问gender）
    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    // 新增的getName()方法，用于跨包访问name属性
    public String getName() {
        return name;
    }
}